package com.fau.cm.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;

/**
 * @desc 媒体进线成本信息表
 * @author dangjh
 * @datetime 2014年11月6日,下午8:19:01
 */
@Entity
@Table(name = "medical_media_info_costs")
public class MedicalMediaInfoCosts implements Serializable {

	private static final long serialVersionUID = -368914414372218135L;

	private String id;
	private String medicineId;		// 药品id
	private String medicineName;	// 药品名称
	private String mediaId;			// 媒体id
	private String mediaName;		// 媒体名称
	private BigDecimal costs;		// 媒体投放金额
	private String publishNumbers;	// 刊登号码
	private Date putTime;			// 投放时间
	private Integer inNum;			// 日进线数量
	private BigDecimal dailyCost;	// 日进线成本
	private Integer orderNum;		// 订单数量
	private BigDecimal orderCost;	// 订单成本
	private BigDecimal effectiveCost;	// 有效单成本
	private String description;		// 媒体投放信息描述
	private String eid;				// 企业id
	private Date createTime = new Date();
	
	private Date placeStartTime;
	private Date placeEndTime;
	
	public MedicalMediaInfoCosts(){
	}
	
	@Id
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@GeneratedValue(generator = "generator")
	@Column(name = "ID", length = 32)
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "medicine_id", length = 32)
	public String getMedicineId() {
		return medicineId;
	}

	public void setMedicineId(String medicineId) {
		this.medicineId = medicineId;
	}

	@Column(name = "medicine_name", length = 50)
	public String getMedicineName() {
		return medicineName;
	}

	public void setMedicineName(String medicineName) {
		this.medicineName = medicineName;
	}

	@Column(name = "media_id", length = 32)
	public String getMediaId() {
		return mediaId;
	}

	public void setMediaId(String mediaId) {
		this.mediaId = mediaId;
	}
	
	@Column(name = "media_name", length = 50)
	public String getMediaName() {
		return mediaName;
	}

	public void setMediaName(String mediaName) {
		this.mediaName = mediaName;
	}
	
	@Column(name = "costs", length = 20)
	public BigDecimal getCosts() {
		return costs;
	}

	public void setCosts(BigDecimal costs) {
		this.costs = costs;
	}

	@Column(name = "publish_numbers", length = 32)
	public String getPublishNumbers() {
		return publishNumbers;
	}

	public void setPublishNumbers(String publishNumbers) {
		this.publishNumbers = publishNumbers;
	}

	@Column(name = "put_time")
	public Date getPutTime() {
		return putTime;
	}

	public void setPutTime(Date putTime) {
		this.putTime = putTime;
	}

	@Column(name = "in_num", length = 11)
	public Integer getInNum() {
		return inNum;
	}

	public void setInNum(Integer inNum) {
		this.inNum = inNum;
	}

	@Column(name = "daily_cost", length = 20)
	public BigDecimal getDailyCost() {
		return dailyCost;
	}

	public void setDailyCost(BigDecimal dailyCost) {
		this.dailyCost = dailyCost;
	}

	@Column(name = "order_num", length = 11)
	public Integer getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}

	@Column(name = "order_cost", length = 20)
	public BigDecimal getOrderCost() {
		return orderCost;
	}

	public void setOrderCost(BigDecimal orderCost) {
		this.orderCost = orderCost;
	}

	@Column(name = "effective_cost", length = 20)
	public BigDecimal getEffectiveCost() {
		return effectiveCost;
	}

	public void setEffectiveCost(BigDecimal effectiveCost) {
		this.effectiveCost = effectiveCost;
	}

	@Column(name = "description", length = 255)
	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	@Column(name = "eid", length = 32)
	public String getEid() {
		return eid;
	}

	public void setEid(String eid) {
		this.eid = eid;
	}

	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Transient
	public Date getPlaceStartTime() {
		return placeStartTime;
	}

	public void setPlaceStartTime(Date placeStartTime) {
		this.placeStartTime = placeStartTime;
	}

	@Transient
	public Date getPlaceEndTime() {
		return placeEndTime;
	}

	public void setPlaceEndTime(Date placeEndTime) {
		this.placeEndTime = placeEndTime;
	}
	
}
